﻿// Decompiled with JetBrains decompiler
// Type: TaleWorlds.CampaignSystem.Issues.IssueCoolDownData
// Assembly: TaleWorlds.CampaignSystem, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: E85F8C15-4DF6-4E9C-A58A-29177E40D07A
// Assembly location: D:\steam\steamapps\common\Mount & Blade II Bannerlord\bin\Win64_Shipping_Client\TaleWorlds.CampaignSystem.dll

using System.Collections.Generic;
using TaleWorlds.SaveSystem;

#nullable disable
namespace TaleWorlds.CampaignSystem.Issues
{
  public abstract class IssueCoolDownData
  {
    [SaveableField(0)]
    public readonly CampaignTime ExpireTime;

    protected virtual void AutoGeneratedInstanceCollectObjects(List<object> collectedObjects)
    {
      CampaignTime.AutoGeneratedStaticCollectObjectsCampaignTime((object) this.ExpireTime, collectedObjects);
    }

    internal static object AutoGeneratedGetMemberValueExpireTime(object o)
    {
      return (object) ((IssueCoolDownData) o).ExpireTime;
    }

    protected IssueCoolDownData(CampaignTime expireTime) => this.ExpireTime = expireTime;

    public virtual bool IsValid() => !this.ExpireTime.IsPast;

    public abstract bool IsRelatedTo(object obj);
  }
}
